<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <input type="text" id="inputNumber" /><span id="passMsg"></span>
    <input type="button" value="测试">
    <!-- 2，密码格式要求。（必须包含字母、数字、特殊字符，长度6个字符以上） -->
    <script>
        // 封装点击事件
        // function $(id){
        //     return document.getElementById(id)
        // }
        // // 获取值
        // $("inputNumber").onblur=function(){
        //     // 判断是否为6位以上
        //     var pass=this.value;
        //     if(pass.length<6){
        //         $("passMsg").innerHTML="亲,输入的长度为六位以上？"
        //         return;
        //     }
        //     // 判断特殊字符
        //     var hasTeShu=false;
        //     var arr=["%","&","*"];
        //     for(var i=0;i<arr.length;i++){
        //         if(pass.indexOf[i]>-1){
        //             hasTeShu=true;
        //             break;
        //         }
        //     }
        //     if(!hasTeShu){
        //         $("passMsg").innerHTML="亲,应该包含特殊字符？"
        //         return;
        //     }
        //     // 包含数字
        //     var hasNum=some(pass,function(code){
        //         return code>=48&&code<=57
        //     });
        //     if(!hasNum){
        //         $("passMsg").innerHTML="亲,应该包含数字？"
        //         return;
        //     }
        //     // 包含字母
        //     var hasLetter=false;
        //     for(var i=0;i<pass.length;i++){
        //         var code=pass.charCodeAt(i);
        //         if(code>=65&&code<=90||code>=97&&code<=122){
        //             hasLetter=false;
        //         }
        //     }
        //     if(hasLetter=false){
        //         $("passMsg").innerHTML="亲,应该包含字母？"
        //         return;
        //     }
        //     $("passMsg").innerHTML="真棒"
        // }
        // //判断字符串是否包含满足条件的字符
        // function some(str,cb){
        //     for(var i=0;i<str.length;i++){
        //         if(cb(str.charCodeAt(i))){
        //             return true
        //         }
        //     }
        //     return false
        // }
        // =============
        // 点击事件封装函数
        function $(id) {
            return document.getElementById(id);
        }
        // // 获取值
        $("inputNumber").onblur = function () {
            var pass = this.value;
            //6位字符以上
            if (pass.length < 6) {
                $("passMsg").innerHTML = "亲，输入的应该是长度六位以上的？"
                return;
            }
            //     //判断数字
            var hasNum = some(pass, function (code) {
                return code >= 48 && code <= 57;
            });
            if (!hasNum) {
                $("passMsg").innerHTML = "亲，输入的应该包含数字！"
                return;
            }
            //     // 包含字母
            var hasLetter = false;

            for (var i = 0; i < pass.length; i++) {
                var code = pass.charCodeAt(i);
                if (code >= 65 && code <= 90 || code >= 97 && code <= 122) {
                    hasLetter = true;
                    break;
                }
            }
            if (hasLetter = false) {
                $("passMsg").innerHTML = "亲，输入的应该包含字母！"
                return;
            }
            //     // 判断特殊字符
            var arr = ["$", "#", "!"];
            var hasTeShu = false;
            for (var i = 0; i < arr.length; i++) {
                if (pass.indexOf(arr[i]) > -1) {
                    hasTeShu = true;
                    break;
                }
            }
            if (!hasTeShu) {
                $("passMsg").innerHTML = "亲，输入的应该包含特殊字符！"
                return;
            }
            $("passMsg").innerHTML="真棒"
            // 判断字符串是否包含满足条件的字符
            function some(str, cb) {
                for (var i = 0; i < str.length; i++) {
                    if (cb(str.charCodeAt(i))) {
                        return true;
                    }
                }
                return false;
            }

        }
    </script>
</body>

</html>